Trong vũ trụ của C++, mọi đối tượng đều có một thời gian sống— thời gian sống của đối tượng. Điều này xác định khoảng thời gian mà một đối tượng chiếm giữ không gian trong bộ nhớ. Trong một thân hàm, hành vi mặc định cho biến cục bộ là trở thành tự động, nhưng chúng ta có thể chỉ định chúng trở thành tĩnh để thay đổi số phận của chúng.
1. Đối tượng tự động
Mặc định, các biến cục bộ là đối tượng tự động. Chúng được tạo ra (khởi tạo) khi hàm thực thi chạm đến định nghĩa của chúng và chết (bị thu hồi) khi khối lệnh hoàn tất. Chúng nằm trên ngăn xếp, khiến chúng luôn mới mỗi lần gọi.
2. Đối tượng tĩnh cục bộ
Khi bạn sử dụng từ khóa tĩnh , bạn sẽ tạo ra một đối tượng tĩnh cục bộ. Chúng chỉ được khởi tạo một lần—trước lần đầu tiên điều khiển đi qua định nghĩa của chúng—và tồn tại cho đến khi chương trình kết thúc. Điều này cho phép một hàm "nhớ" trạng thái mà không làm bẩn không gian toàn cục.
3. Bẫy đệ quy
Trong một hàm đệ quy, mỗi lần đệ quy tạo ra một phiên bản riêng biệt của các đối tượng tự động. Nếu đệ quy sâu, điều này sẽ tiêu tốn nhiều không gian ngăn xếp. Ngược lại, một tĩnh đối tượng được chia sẻ giữa mọi cấp độ của đệ quy đó.